From a cold or hard boot the first program that a personal computer typically runs is a set of instructions loaded in Read Only Memory (ROM) or Electrically Erasable Read Only Memory (EEPROM) which contains the information required to initialise the system hardware and enable the machine to activate a hard disk drive to find the boot-strap loader.
Therefore, at present, operating systems load boot information and files from the local hard disk drive into the working or system memory, commonly called Random Access Memory (RAM). This information usually includes file system drivers, the operating system kernel, and configuration and device information that have to be parsed into useful information, and general cosmetic customisations.
Because of the sheer number and size of these files, computers often take several minutes to boot i.e. to get to a useable state, which end users often find very frustrating.
The time taken to boot a personal computer can have a significant impact on worker productivity. Personal computers are widely used in workplaces, particularly in office environments. In a large office the time spent waiting for computers to boot can result in a large quantity of unproductive time. If personnel are using mobile personal computers which are taken to meetings throughout the working day, then the problem is magnified.
Furthermore, it is not uncommon to have to re-boot a personal computer due to an operating system error that simply occurs as a result of use of the computer.
Furthermore, in some environments the continuing functionality of a computer system or other digital processing device can be very important, for example the control of a communication system or a production process. Therefore, down time resulting from a system failure or “crash” must be kept to a minimum.
The Advanced Configuration and Power Interface (ACPI) specification enables boot times to be reduced, but even systems that implement this specification usually require users to wait at least 30 seconds before they can use their computers.
To achieve this it is known to provide an “image” of the booted computer memory and to store this to hard disk or in memory as in U.S. Pat. No. 6,446,203. This patent specification still requires that the operating system be booted sufficiently to identify the area of the disk to be read, and it provides no security for the image, nor any provision for changing the image, nor any reference to storing other than the working memory.
US application 2002/0078338 stores a boot image in secondary memory, and boots from this if detected, however it has no security and is unable to detect changes in configuration.
US application 2001/0039612 provides a boot image in memory at power down but has no provision for security of the image, nor does it appear to require more than the working memory to be stored.
US application 20002/0169950 provides a boot image of the initial boot process and a compressed boot image of the middle part as well as providing a copyright check on the initial boot image, but has no other apparent security or hardware check.
WO 01/13221 uses a ROM to store a boot image, including user programs but has no apparent security, although it does store a compressed OS on disk.
U.S. Pat. No. 7,167,3417 provides a boot image stored on hard disk in compressed state, but updated for configuration changes. It has no apparent security or hardware check.
It is therefore an additional problem with a computer storing an image which boots on power up that there is held in the computer an insecure version of the booted computer memory data, possibly including data held securely elsewhere. This therefore would allow extraction of the memory image to be one means of bypassing whatever security is involved in the normal booting process.
Still further, it is possible that hardware on the computer has changed while the computer was switched off. In such cases the computer either recognises that the hardware has changed, and abandons the boot image for a full boot, or fails to recognise that changes have occurred and attempts to boot normally. Both courses will result in extended boot periods.